github.com/expr-lang/expr@v1.16.9/vm/func_types[generated].go (about) 1 // Code generated by vm/func_types/main.go. DO NOT EDIT. 2 3 package vm 4 5 import ( 6 "fmt" 7 "time" 8 ) 9 10 var FuncTypes = []any{ 11 1: new(func() time.Duration), 12 2: new(func() time.Month), 13 3: new(func() time.Time), 14 4: new(func() time.Weekday), 15 5: new(func() []interface{}), 16 6: new(func() []uint8), 17 7: new(func() interface{}), 18 8: new(func() bool), 19 9: new(func() uint8), 20 10: new(func() float32), 21 11: new(func() float64), 22 12: new(func() int), 23 13: new(func() int16), 24 14: new(func() int32), 25 15: new(func() int64), 26 16: new(func() int8), 27 17: new(func() map[string]interface{}), 28 18: new(func() int32), 29 19: new(func() string), 30 20: new(func() uint), 31 21: new(func() uint16), 32 22: new(func() uint32), 33 23: new(func() uint64), 34 24: new(func() uint8), 35 25: new(func(time.Duration) time.Duration), 36 26: new(func(time.Duration) time.Time), 37 27: new(func(time.Time) time.Duration), 38 28: new(func(time.Time) bool), 39 29: new(func([]interface{}) []interface{}), 40 30: new(func([]interface{}) interface{}), 41 31: new(func([]interface{}) map[string]interface{}), 42 32: new(func([]interface{}, string) string), 43 33: new(func([]uint8) string), 44 34: new(func([]string, string) string), 45 35: new(func(interface{}) []interface{}), 46 36: new(func(interface{}) interface{}), 47 37: new(func(interface{}) bool), 48 38: new(func(interface{}) float64), 49 39: new(func(interface{}) int), 50 40: new(func(interface{}) map[string]interface{}), 51 41: new(func(interface{}) string), 52 42: new(func(interface{}, interface{}) []interface{}), 53 43: new(func(interface{}, interface{}) interface{}), 54 44: new(func(interface{}, interface{}) bool), 55 45: new(func(interface{}, interface{}) string), 56 46: new(func(bool) bool), 57 47: new(func(bool) float64), 58 48: new(func(bool) int), 59 49: new(func(bool) string), 60 50: new(func(bool, bool) bool), 61 51: new(func(float32) float64), 62 52: new(func(float64) bool), 63 53: new(func(float64) float32), 64 54: new(func(float64) float64), 65 55: new(func(float64) int), 66 56: new(func(float64) string), 67 57: new(func(float64, float64) bool), 68 58: new(func(int) bool), 69 59: new(func(int) float64), 70 60: new(func(int) int), 71 61: new(func(int) string), 72 62: new(func(int, int) bool), 73 63: new(func(int, int) int), 74 64: new(func(int, int) string), 75 65: new(func(int16) int32), 76 66: new(func(int32) float64), 77 67: new(func(int32) int), 78 68: new(func(int32) int64), 79 69: new(func(int64) time.Time), 80 70: new(func(int8) int), 81 71: new(func(int8) int16), 82 72: new(func(string) []uint8), 83 73: new(func(string) []string), 84 74: new(func(string) bool), 85 75: new(func(string) float64), 86 76: new(func(string) int), 87 77: new(func(string) string), 88 78: new(func(string, uint8) int), 89 79: new(func(string, int) int), 90 80: new(func(string, int32) int), 91 81: new(func(string, string) bool), 92 82: new(func(string, string) string), 93 83: new(func(uint) float64), 94 84: new(func(uint) int), 95 85: new(func(uint) uint), 96 86: new(func(uint16) uint), 97 87: new(func(uint32) uint64), 98 88: new(func(uint64) float64), 99 89: new(func(uint64) int64), 100 90: new(func(uint8) uint8), 101 } 102 103 func (vm *VM) call(fn any, kind int) any { 104 switch kind { 105 case 1: 106 return fn.(func() time.Duration)() 107 case 2: 108 return fn.(func() time.Month)() 109 case 3: 110 return fn.(func() time.Time)() 111 case 4: 112 return fn.(func() time.Weekday)() 113 case 5: 114 return fn.(func() []interface{})() 115 case 6: 116 return fn.(func() []uint8)() 117 case 7: 118 return fn.(func() interface{})() 119 case 8: 120 return fn.(func() bool)() 121 case 9: 122 return fn.(func() uint8)() 123 case 10: 124 return fn.(func() float32)() 125 case 11: 126 return fn.(func() float64)() 127 case 12: 128 return fn.(func() int)() 129 case 13: 130 return fn.(func() int16)() 131 case 14: 132 return fn.(func() int32)() 133 case 15: 134 return fn.(func() int64)() 135 case 16: 136 return fn.(func() int8)() 137 case 17: 138 return fn.(func() map[string]interface{})() 139 case 18: 140 return fn.(func() int32)() 141 case 19: 142 return fn.(func() string)() 143 case 20: 144 return fn.(func() uint)() 145 case 21: 146 return fn.(func() uint16)() 147 case 22: 148 return fn.(func() uint32)() 149 case 23: 150 return fn.(func() uint64)() 151 case 24: 152 return fn.(func() uint8)() 153 case 25: 154 arg1 := vm.pop().(time.Duration) 155 return fn.(func(time.Duration) time.Duration)(arg1) 156 case 26: 157 arg1 := vm.pop().(time.Duration) 158 return fn.(func(time.Duration) time.Time)(arg1) 159 case 27: 160 arg1 := vm.pop().(time.Time) 161 return fn.(func(time.Time) time.Duration)(arg1) 162 case 28: 163 arg1 := vm.pop().(time.Time) 164 return fn.(func(time.Time) bool)(arg1) 165 case 29: 166 arg1 := vm.pop().([]interface{}) 167 return fn.(func([]interface{}) []interface{})(arg1) 168 case 30: 169 arg1 := vm.pop().([]interface{}) 170 return fn.(func([]interface{}) interface{})(arg1) 171 case 31: 172 arg1 := vm.pop().([]interface{}) 173 return fn.(func([]interface{}) map[string]interface{})(arg1) 174 case 32: 175 arg2 := vm.pop().(string) 176 arg1 := vm.pop().([]interface{}) 177 return fn.(func([]interface{}, string) string)(arg1, arg2) 178 case 33: 179 arg1 := vm.pop().([]uint8) 180 return fn.(func([]uint8) string)(arg1) 181 case 34: 182 arg2 := vm.pop().(string) 183 arg1 := vm.pop().([]string) 184 return fn.(func([]string, string) string)(arg1, arg2) 185 case 35: 186 arg1 := vm.pop() 187 return fn.(func(interface{}) []interface{})(arg1) 188 case 36: 189 arg1 := vm.pop() 190 return fn.(func(interface{}) interface{})(arg1) 191 case 37: 192 arg1 := vm.pop() 193 return fn.(func(interface{}) bool)(arg1) 194 case 38: 195 arg1 := vm.pop() 196 return fn.(func(interface{}) float64)(arg1) 197 case 39: 198 arg1 := vm.pop() 199 return fn.(func(interface{}) int)(arg1) 200 case 40: 201 arg1 := vm.pop() 202 return fn.(func(interface{}) map[string]interface{})(arg1) 203 case 41: 204 arg1 := vm.pop() 205 return fn.(func(interface{}) string)(arg1) 206 case 42: 207 arg2 := vm.pop() 208 arg1 := vm.pop() 209 return fn.(func(interface{}, interface{}) []interface{})(arg1, arg2) 210 case 43: 211 arg2 := vm.pop() 212 arg1 := vm.pop() 213 return fn.(func(interface{}, interface{}) interface{})(arg1, arg2) 214 case 44: 215 arg2 := vm.pop() 216 arg1 := vm.pop() 217 return fn.(func(interface{}, interface{}) bool)(arg1, arg2) 218 case 45: 219 arg2 := vm.pop() 220 arg1 := vm.pop() 221 return fn.(func(interface{}, interface{}) string)(arg1, arg2) 222 case 46: 223 arg1 := vm.pop().(bool) 224 return fn.(func(bool) bool)(arg1) 225 case 47: 226 arg1 := vm.pop().(bool) 227 return fn.(func(bool) float64)(arg1) 228 case 48: 229 arg1 := vm.pop().(bool) 230 return fn.(func(bool) int)(arg1) 231 case 49: 232 arg1 := vm.pop().(bool) 233 return fn.(func(bool) string)(arg1) 234 case 50: 235 arg2 := vm.pop().(bool) 236 arg1 := vm.pop().(bool) 237 return fn.(func(bool, bool) bool)(arg1, arg2) 238 case 51: 239 arg1 := vm.pop().(float32) 240 return fn.(func(float32) float64)(arg1) 241 case 52: 242 arg1 := vm.pop().(float64) 243 return fn.(func(float64) bool)(arg1) 244 case 53: 245 arg1 := vm.pop().(float64) 246 return fn.(func(float64) float32)(arg1) 247 case 54: 248 arg1 := vm.pop().(float64) 249 return fn.(func(float64) float64)(arg1) 250 case 55: 251 arg1 := vm.pop().(float64) 252 return fn.(func(float64) int)(arg1) 253 case 56: 254 arg1 := vm.pop().(float64) 255 return fn.(func(float64) string)(arg1) 256 case 57: 257 arg2 := vm.pop().(float64) 258 arg1 := vm.pop().(float64) 259 return fn.(func(float64, float64) bool)(arg1, arg2) 260 case 58: 261 arg1 := vm.pop().(int) 262 return fn.(func(int) bool)(arg1) 263 case 59: 264 arg1 := vm.pop().(int) 265 return fn.(func(int) float64)(arg1) 266 case 60: 267 arg1 := vm.pop().(int) 268 return fn.(func(int) int)(arg1) 269 case 61: 270 arg1 := vm.pop().(int) 271 return fn.(func(int) string)(arg1) 272 case 62: 273 arg2 := vm.pop().(int) 274 arg1 := vm.pop().(int) 275 return fn.(func(int, int) bool)(arg1, arg2) 276 case 63: 277 arg2 := vm.pop().(int) 278 arg1 := vm.pop().(int) 279 return fn.(func(int, int) int)(arg1, arg2) 280 case 64: 281 arg2 := vm.pop().(int) 282 arg1 := vm.pop().(int) 283 return fn.(func(int, int) string)(arg1, arg2) 284 case 65: 285 arg1 := vm.pop().(int16) 286 return fn.(func(int16) int32)(arg1) 287 case 66: 288 arg1 := vm.pop().(int32) 289 return fn.(func(int32) float64)(arg1) 290 case 67: 291 arg1 := vm.pop().(int32) 292 return fn.(func(int32) int)(arg1) 293 case 68: 294 arg1 := vm.pop().(int32) 295 return fn.(func(int32) int64)(arg1) 296 case 69: 297 arg1 := vm.pop().(int64) 298 return fn.(func(int64) time.Time)(arg1) 299 case 70: 300 arg1 := vm.pop().(int8) 301 return fn.(func(int8) int)(arg1) 302 case 71: 303 arg1 := vm.pop().(int8) 304 return fn.(func(int8) int16)(arg1) 305 case 72: 306 arg1 := vm.pop().(string) 307 return fn.(func(string) []uint8)(arg1) 308 case 73: 309 arg1 := vm.pop().(string) 310 return fn.(func(string) []string)(arg1) 311 case 74: 312 arg1 := vm.pop().(string) 313 return fn.(func(string) bool)(arg1) 314 case 75: 315 arg1 := vm.pop().(string) 316 return fn.(func(string) float64)(arg1) 317 case 76: 318 arg1 := vm.pop().(string) 319 return fn.(func(string) int)(arg1) 320 case 77: 321 arg1 := vm.pop().(string) 322 return fn.(func(string) string)(arg1) 323 case 78: 324 arg2 := vm.pop().(uint8) 325 arg1 := vm.pop().(string) 326 return fn.(func(string, uint8) int)(arg1, arg2) 327 case 79: 328 arg2 := vm.pop().(int) 329 arg1 := vm.pop().(string) 330 return fn.(func(string, int) int)(arg1, arg2) 331 case 80: 332 arg2 := vm.pop().(int32) 333 arg1 := vm.pop().(string) 334 return fn.(func(string, int32) int)(arg1, arg2) 335 case 81: 336 arg2 := vm.pop().(string) 337 arg1 := vm.pop().(string) 338 return fn.(func(string, string) bool)(arg1, arg2) 339 case 82: 340 arg2 := vm.pop().(string) 341 arg1 := vm.pop().(string) 342 return fn.(func(string, string) string)(arg1, arg2) 343 case 83: 344 arg1 := vm.pop().(uint) 345 return fn.(func(uint) float64)(arg1) 346 case 84: 347 arg1 := vm.pop().(uint) 348 return fn.(func(uint) int)(arg1) 349 case 85: 350 arg1 := vm.pop().(uint) 351 return fn.(func(uint) uint)(arg1) 352 case 86: 353 arg1 := vm.pop().(uint16) 354 return fn.(func(uint16) uint)(arg1) 355 case 87: 356 arg1 := vm.pop().(uint32) 357 return fn.(func(uint32) uint64)(arg1) 358 case 88: 359 arg1 := vm.pop().(uint64) 360 return fn.(func(uint64) float64)(arg1) 361 case 89: 362 arg1 := vm.pop().(uint64) 363 return fn.(func(uint64) int64)(arg1) 364 case 90: 365 arg1 := vm.pop().(uint8) 366 return fn.(func(uint8) uint8)(arg1) 367 368 } 369 panic(fmt.Sprintf("unknown function kind (%v)", kind)) 370 }